package com.jinke.api.modules.app.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jinke.api.modules.app.enums.BalanceType;
import com.jinke.api.modules.app.enums.CoinType;
import com.jinke.api.modules.app.enums.PaymentType;
import com.jinke.api.modules.app.enums.UserRechargeStatus;
import com.jinke.api.modules.base.model.BaseEntity;
import com.jinke.api.modules.ums.vo.SimpleUser;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author macro
 * @since 2024-01-13
 */
@Getter
@Setter
@TableName("user_recharge")
@ApiModel(value = "UserRecharge对象", description = "")
public class UserRecharge extends BaseEntity {

    @ApiModelProperty("用户ID")
    private Integer userId;
    @ApiModelProperty("0 余额，1保证金")
    private BalanceType balanceType;
    @ApiModelProperty("金额，根据币种类型判断是人民币还是美元")
    private BigDecimal amount;

    @ApiModelProperty("最终应到账的美元金额")
    private BigDecimal usdAmount;

    @ApiModelProperty("币种类型 0 美元 1 人民币")
    private CoinType coinType;

    @ApiModelProperty("支付方式0线下汇款1其他")
    private PaymentType paymentType;

    @ApiModelProperty("转账银行")
    private String bankName;

    @ApiModelProperty("转账账号")
    private String accountNumber;

    @ApiModelProperty("转款人")
    private String businessName;

    @ApiModelProperty("转账确认号码")
    private String confirmNumber;

    @ApiModelProperty("凭证图片URL地址")
    private String credentialUrl;

    @ApiModelProperty("状态 0 待审核 1 审核通过 2 审核拒绝")
    private UserRechargeStatus status;

    @ApiModelProperty("用户提交备注")
    private String remark;

    @ApiModelProperty("审核备注")
    private String auditRemark;

    @ApiModelProperty("审核时间")
    private LocalDateTime auditTime;

    @ApiModelProperty("审核管理员ID")
    private Integer adminId;

    @ApiModelProperty("用户信息")
    @TableField(exist = false)
    private SimpleUser user;

    @ApiModelProperty("销售ID")
    private Integer sellerId;

    @ApiModelProperty("美元汇率")
    private BigDecimal usdRate;


}
